package com.ruoyi.demo.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 竞拍规则对象 auction_rule
 * 
 * @author metaee
 * @date 2025-02-24
 */
@ApiModel("竞拍规则对象")
public class AuctionRule extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 规则ID */
    private Long ruleId;

    /** 分类ID(NULL表示通用规则) */
    @ApiModelProperty("分类ID(NULL表示通用规则)")
    @Excel(name = "分类ID(NULL表示通用规则)")
    private Long categoryId;

    /** 最小加价幅度 */
    @ApiModelProperty("最小加价幅度")
    @Excel(name = "最小加价幅度")
    private BigDecimal minStepPrice;

    /** 最大加价幅度 */
    @ApiModelProperty("最大加价幅度")
    @Excel(name = "最大加价幅度")
    private BigDecimal maxStepPrice;

    /** 自动延时(秒) */
    @ApiModelProperty("自动延时(秒)")
    @Excel(name = "自动延时(秒)")
    private Long autoDelay;

    /** 延时阈值(秒) */
    @ApiModelProperty("延时阈值(秒)")
    @Excel(name = "延时阈值(秒)")
    private Long delayThreshold;

    /** 状态（0正常 1停用） */
    @ApiModelProperty("状态")
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    public void setRuleId(Long ruleId) 
    {
        this.ruleId = ruleId;
    }

    public Long getRuleId() 
    {
        return ruleId;
    }
    public void setCategoryId(Long categoryId) 
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId() 
    {
        return categoryId;
    }
    public void setMinStepPrice(BigDecimal minStepPrice) 
    {
        this.minStepPrice = minStepPrice;
    }

    public BigDecimal getMinStepPrice() 
    {
        return minStepPrice;
    }
    public void setMaxStepPrice(BigDecimal maxStepPrice) 
    {
        this.maxStepPrice = maxStepPrice;
    }

    public BigDecimal getMaxStepPrice() 
    {
        return maxStepPrice;
    }
    public void setAutoDelay(Long autoDelay) 
    {
        this.autoDelay = autoDelay;
    }

    public Long getAutoDelay() 
    {
        return autoDelay;
    }
    public void setDelayThreshold(Long delayThreshold) 
    {
        this.delayThreshold = delayThreshold;
    }

    public Long getDelayThreshold() 
    {
        return delayThreshold;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("ruleId", getRuleId())
            .append("categoryId", getCategoryId())
            .append("minStepPrice", getMinStepPrice())
            .append("maxStepPrice", getMaxStepPrice())
            .append("autoDelay", getAutoDelay())
            .append("delayThreshold", getDelayThreshold())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
